Methods, systems, and media for masquerade attack detection by monitoring computer user behavior

ABSTRACT

Methods, systems, and media for masquerade attack detection by monitoring computer user behavior are provided. In accordance with some embodiments, a method for detecting masquerade attacks is provided, the method comprising: monitoring, using a hardware processor, a first plurality of user actions in a computing environment; generating a user intent model based on the first plurality of user actions; monitoring a second plurality of user actions in the computing environment; determining whether at least one of the second plurality of user actions deviates from the generated user intent model; determining whether the second plurality of user actions include performing an action on a file in the computing environment that contains decoy information in response to determining that at least one of the second plurality of user actions deviates from the generated user intent model; and generating an alert in response to determining that the second plurality of user actions include performing an action on a file in the computing environment that contains decoy information.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.14/272,099, filed May 7, 2014, which is a continuation of U.S. patentapplication Ser. No. 12/628,587, filed Dec. 1, 2009, which claims thebenefit of U.S. Provisional Patent Application No. 61/119,294, filedDec. 2, 2008 and U.S. Provisional Application No. 61/119,540, filed Dec.3, 2008, which are hereby incorporated by reference herein in theirentireties.

STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT

The invention was made with government support under Grant No.60NANB1D0127 awarded by the U.S. Department of Homeland Security throughthe Institute for Information Infrastructure Protection (I3P) and underGrant No. W911NF-06-1-0151-49626-CI awarded by the Army Research Office(ARO). The government has certain rights in the invention.

TECHNICAL FIELD

The disclosed subject matter relates to methods, systems, and media formasquerade attack detection by monitoring computer user behavior.

BACKGROUND

Much research in computer security has focused on approaches forpreventing unauthorized and illegitimate access to systems andinformation. However, one of the most damaging malicious activities isthe result of internal misuse within an organization. This may bebecause much of the attention has been focused on preventative measuresagainst computer viruses, worms, trojans, hackers, rootkits, spyware,key recovery attacks, denial-of-service attacks, malicious software (ormalware), probes, etc. such that far less attention has been focusedinward.

Insider threats generally include masqueraders and/or traitors.Masqueraders generally include attackers that impersonate another insideuser, while traitors generally include inside attackers that use theirown legitimate credentials to attain illegitimate goals. For example,identity theft in financial transaction systems is one example of amasquerade attack. Upon stealing a bank customer's commercial identity(e.g., their credit card or account information), a masquerader presentsthose credentials for the malicious purpose of using the customer'scredit line to steal money. In another example, a disgruntled insideremployee is an example of a traitor, where the traitor generally hasfull knowledge of the systems he or she routinely uses and the securitypolicies in force and uses his or her knowledge and access to conductunauthorized activities. In yet another example, the disgruntled insideremployee can act as a traitor and a masquerader upon stealing theidentity of another employee within the organization.

In addition, some external attackers can become inside attackers when,for example, an external attacker gains internal network access. Forexample, external attackers can gain access to an internal network withthe use of spyware or rootkits. Such software can be easily installed oncomputer systems from physical or digital media (e.g., email, downloads,etc.) and can provide an attacker with administrator or “root” access ona machine along with the capability of gathering sensitive data. Inparticular, the attacker can snoop or eavesdrop on a computer or anetwork, download and exfiltrate data, steal assets and information,destroy critical assets and information, and/or modify information.Rootkits have the ability to conceal themselves and elude detection,especially when the rootkit is previously unknown, as is the case withzero-day attacks. An external attacker that manages to install a rootkitinternally in effect becomes an insider, thereby multiplying the abilityto inflict harm.

Current detection approaches generally monitor command line calls issuedby users, system calls for unusual application use or events, databaseor file accesses, and the organization policy management rules andcompliance logs. For example, one particular detection approach detectsmalicious insider activities by specifically monitoring violations of a“Need-to-Know” policy. Another approach builds an adaptive command lineinterface. However, these approaches failed to reveal or clarify theuser's intent when issuing commands or running processes. In addition,these detection approaches produce results with unacceptable falsepositive rates.

There is therefore a need in the art for approaches for detectingmasquerade attacks by monitoring computer user behavior. Accordingly, itis desirable to provide methods, systems and media that overcome theseand other deficiencies of the prior art.

SUMMARY

In accordance with various embodiments, mechanisms for detectingmasquerade attacks by monitoring computer user behavior are provided.

Insider attacks generally include attacks from traitors and attacks frommasqueraders that have already obtained credentials to access acomputing environment. A traitor can be a legitimate user within anorganization that has been granted access to systems and otherinformation resources, but whose actions are counter to policy and whosegoal is to negatively affect confidentiality, integrity, or availabilityof some information asset. A masquerader can be an attacker who succeedsin stealing a legitimate user's identity and impersonates the legitimateuser for malicious purposes. For example, once a masquerader steals abank customer's commercial identity including credit card and/or accountinformation, the masquerader presents that information for the maliciouspurpose of using the customer's credit line to steal money. Insideattackers, traitors, and masqueraders are sometimes referred to hereinas “masquerader” or “attacker.”

However, the masquerader is generally unlikely to know how the victimcomputer user behaves when using a file system. For example, eachindividual computer user generally knows his or her own file system wellenough to search in a limited, targeted, and unique fashion in order tofind information germane to the current task. In another example, someindividual computer users initiate the same or similar commands eachtime they log in to set their environment before using it—e.g., initiatesome set of applications, such as read e-mail, open a web browser,and/or start a chat session. Masqueraders, on the other hand, generallydo not know the user's file system and/or the layout of the user'sdesktop. As such, masqueraders generally search more extensively andbroadly in a manner that is different from the victim user beingimpersonated. For example, a masquerader is likely to engage inextensive search activities since the masquerader may be unfamiliar withthe system local resources or the masquerader may be exploring the filesystem prior to launching an attack.

In some embodiments, masquerade detection mechanisms are provided formonitoring a user's actions and determining whether current user actionsare consistent with the user's historical behavior. For example, thesemechanisms create one or more models of the behavior and intent of aparticular user and determine whether the current user actions deviatefrom the one or more models. In another example, user actions (e.g.,user commands, Windows applications, registry-based activities, DLLactivities, etc.) are classified into categories allowing models to moreeasily detect patterns of behavior that are indicative of user intent.In a more particular example, a behavior related to search activitiescan be modeled to detect unusual amounts of search activities on a filesystem, which can be an indication that a masquerader has gained entryto the file system. As such, a search category for the particular usercan be modeled.

In some embodiments, these masquerade detection mechanisms can includetraps that can be used to confuse, deceive, and/or detect nefariousinside attackers that attempt to exfiltrate and/or use information.These traps use decoy information (sometimes referred to herein as “baitinformation,” “bait traffic,” “decoy media,” or “decoy documents”) toattract, deceive, and/or confuse attackers. For example, large amountsof decoy information can be generated and inserted into the networkflows and large amount of decoy documents, or documents containing decoyinformation, can be generated and placed within a file system to lurepotential attackers. In another example, decoy documents can begenerated that are machine-generated documents containing content toentice an inside attacker into stealing bogus information. Among otherthings, decoy information can be used to reduce the level of systemknowledge of an attacker, entice the attacker to perform actions thatreveal their presence and/or identities, and uncover and track theunauthorized activities of the attacker.

It should be noted that files containing decoy information (e.g., adecoy password file, a file with bogus credit card information, etc.)can be used to reduce and/or eliminate false positives generated bydetectors using the above-mentioned masquerade detection model. If theuser accessed a file containing decoy information and performed abnormalbehavior prior to or concurrently with accessing the decoy file, adetector or a sensor can use this information to determine that amasquerade attack is likely occurring. The masquerade detection modelcan be used to reduce and/or eliminate false positives generated bydetectors that monitor decoy files.

Accordingly, masquerade detections mechanisms are provided that createand use a model of the computer user's behavior to determine whether atleast one of the current user actions is deemed abnormal and that detectwhether at least one of the current user actions includes accessing,transmitting, opening, executing, and/or misusing decoy information onthe file system.

In some embodiments, a method for detecting masquerade attacks isprovided, the method comprising: monitoring a first plurality of useractions and access of decoy information in a computing environment;generating a user intent model for a category that includes at least oneof the first plurality of user actions; monitoring a second plurality ofuser actions; comparing the second plurality of user actions with theuser intent model by determining deviation from the generated userintent model; identifying whether the second plurality of user actionsis a masquerade attack based at least in part on the comparison; andgenerating an alert in response to identifying that the second pluralityof user actions is the masquerade attack and in response to determiningthat the second plurality of user actions includes accessing the decoyinformation in the computing environment.

In some embodiments, the detection is performed using a host-basedanomaly sensor. The host-based sensor can, for example, continuouslymonitor user behavior and detect significant behavior differences orchanges, which can be indicative of a security breach or maliciousintent. The host-based sensor can also continuously monitor whether afile containing decoy information has been accessed.

In some embodiments, the user actions are classified into contextualcategories and models of user intent are generated for one or morecategories. These categories can be selected for modeling based on, forexample, operating environment, user, etc.

In accordance with some embodiments, a system for detecting masqueradeattacks is provided, the system comprising a processor that: monitors afirst plurality of user actions and access of decoy information in acomputing environment; generates a user intent model for a category thatincludes at least one of the first plurality of user actions; monitors asecond plurality of user actions; compares the second plurality of useractions with the user intent model by determining deviation from thegenerated user intent model; identifies whether the second plurality ofuser actions is a masquerade attack based at least in part on thecomparison; and generates an alert in response to identifying that thesecond plurality of user actions is the masquerade attack and inresponse to determining that the second plurality of user actionsincludes accessing the decoy information in the computing environment.

In accordance with some embodiments, a non-transitory computer-readablemedium containing computer-executable instructions that, when executedby a processor, cause the processor to perform a method for detectingmasquerade attacks is provided. The method comprises: monitoring a firstplurality of user actions and access of decoy information in a computingenvironment; generating a user intent model for a category that includesat least one of the first plurality of user actions; monitoring a secondplurality of user actions; comparing the second plurality of useractions with the user intent model by determining deviation from thegenerated user intent model; identifying whether the second plurality ofuser actions is a masquerade attack based at least in part on thecomparison; and generating an alert in response to identifying that thesecond plurality of user actions is the masquerade attack and inresponse to determining that the second plurality of user actionsincludes accessing the decoy information in the computing environment.

In accordance with some embodiments, a method for detecting masqueradeattacks is provided, the method comprising: monitoring, using a hardwareprocessor, a first plurality of user actions in a computing environment;generating a user intent model based on the first plurality of useractions; monitoring a second plurality of user actions in the computingenvironment; determining whether at least one of the second plurality ofuser actions deviates from the generated user intent model; determiningwhether the second plurality of user actions include performing anaction on a file in the computing environment that contains decoyinformation in response to determining that at least one of the secondplurality of user actions deviates from the generated user intent model;and generating an alert in response to determining that the secondplurality of user actions include performing an action on a file in thecomputing environment that contains decoy information.

In accordance with some embodiments, a system for detecting masqueradeattacks is provided, the system comprising: at least one hardwareprocessor that is configured to: monitor a first plurality of useractions in a computing environment; generate a user intent model basedon the first plurality of user actions; monitor a second plurality ofuser actions in the computing environment; determine whether at leastone of the second plurality of user actions deviates from the generateduser intent model; determine whether the second plurality of useractions include performing an action on a file in the computingenvironment that contains decoy information in response to determiningthat at least one of the second plurality of user actions deviates fromthe generated user intent model; and generate an alert in response todetermining that the second plurality of user actions include performingan action on a file in the computing environment that contains decoyinformation.

In accordance with some embodiments, a non-transitory computer-readablemedium containing computer-executable instructions that, when executedby a processor, cause the processor to perform a method for detectingmasquerade attacks is provided. The method comprises: monitoring a firstplurality of user actions in a computing environment; generating a userintent model based on the first plurality of user actions; monitoring asecond plurality of user actions in the computing environment;determining whether at least one of the second plurality of user actionsdeviates from the generated user intent model; determining whether thesecond plurality of user actions include performing an action on a filein the computing environment that contains decoy information in responseto determining that at least one of the second plurality of user actionsdeviates from the generated user intent model; and generating an alertin response to determining that the second plurality of user actionsinclude performing an action on a file in the computing environment thatcontains decoy information.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram of a system suitable for implementing an applicationthat detects masquerade attacks in accordance with some embodiments ofthe disclosed subject matter.

FIG. 2 is an exemplary system architecture that includes host-basedsensors for monitoring user behavior, creating models of user behaviorintent, and detect differences or changes in user behavior in accordancewith some embodiments of the disclosed subject matter.

FIG. 3 is a diagram showing an example of a registry access sensormonitoring a user computing environment in accordance with someembodiments of the disclosed subject matter.

FIG. 4 is a diagram showing an example of a process for detectingmasquerade attacks by monitoring whether current user behavior isabnormal as compared with previous user behavior and monitoring decoyinformation in accordance with some embodiments of the disclosed subjectmatter.

FIG. 5 is a diagram showing an example of a process for identifyingwhether current user behavior is a masquerade attack based on deviationsfrom a generated model of user intent in accordance with someembodiments of the disclosed subject matter.

FIG. 6 is a diagram showing an example of a taxonomy of UNIX commandsthat are used to abstract sequences of user commands and actions inaccordance with some embodiments of the disclosed subject matter.

FIG. 7 is a diagram showing an example of a taxonomy of MicrosoftWindows applications that are used to abstract applications, DLLactivities, and/or registry-based activities in accordance with someembodiments of the disclosed subject matter.

DETAILED DESCRIPTION

In accordance with various embodiments, mechanisms for detectingmasquerade attacks by monitoring computer user behavior are provided.

Insider attacks generally include attacks from traitors and attacks frommasqueraders that have already obtained credentials to access acomputing environment. A traitor can be a legitimate user within anorganization that has been granted access to systems and otherinformation resources, but whose actions are counter to policy and whosegoal is to negatively affect confidentiality, integrity, or availabilityof some information asset. A masquerader can be an attacker who succeedsin stealing a legitimate user's identity and impersonates the legitimateuser for malicious purposes. For example, once a masquerader steals abank customer's commercial identity including credit card and/or accountinformation, the masquerader presents that information for the maliciouspurpose of using the customer's credit line to steal money. Insideattackers, traitors, and masqueraders are sometimes referred to hereinas “masquerader” or “attacker.”

However, the masquerader is generally unlikely to know how the victimcomputer user behaves when using a file system. For example, eachindividual computer user generally knows his or her own file system wellenough to search in a limited, targeted, and unique fashion in order tofind information germane to the current task. In another example, someindividual computer users initiate the same or similar commands eachtime they log in to set their environment before using it—e.g., initiatesome set of applications, such as read e-mail, open a web browser,and/or start a chat session. Masqueraders, on the other hand, generallydo not know the user's file system and/or the layout of the user'sdesktop. As such, masqueraders generally search more extensively andbroadly in a manner that is different from the victim user beingimpersonated. For example, a masquerader is likely to engage inextensive search activities since the masquerader may be unfamiliar withthe system local resources or the masquerader may be exploring the filesystem prior to launching an attack.

In some embodiments, masquerade detection mechanisms are provided formonitoring a user's actions and determining whether current user actionsare consistent with the user's historical behavior. For example, thesemechanisms create one or more models of the behavior and intent of aparticular user and determine whether the current user actions deviatefrom the one or more models. In another example, user actions (e.g.,user commands, Windows applications, registry-based activities, DLLactivities, etc.) are classified into categories allowing models to moreeasily detect patterns of behavior that are indicative of user intent.In a more particular example, a behavior related to search activitiescan be modeled to detect unusual amounts of search activities on a filesystem, which can be an indication that a masquerader has gained entryto the file system. As such, a search category for the particular usercan be modeled.

In some embodiments, these masquerade detection mechanisms can includetraps that can be used to confuse, deceive, and/or detect nefariousinside attackers that attempt to exfiltrate and/or use information.These traps use decoy information (sometimes referred to herein as “baitinformation,” “bait traffic,” “decoy media”, or “decoy documents”) toattract, deceive, and/or confuse attackers. For example, large amountsof decoy information can be generated and inserted into the networkflows and large amount of decoy documents, or documents containing decoyinformation, can be generated and placed within a file system to lurepotential attackers. In another example, decoy documents can begenerated that are machine-generated documents containing content toentice an inside attacker into stealing bogus information. Among otherthings, decoy information can be used to reduce the level of systemknowledge of an attacker, entice the attacker to perform actions thatreveal their presence and/or identities, and uncover and track theunauthorized activities of the attacker.

It should be noted that files containing decoy information (e.g., adecoy password file, a file with bogus credit card information, etc.)can be used to reduce and/or eliminate false positives generated bydetectors using the above-mentioned masquerade detection model. If theuser accessed a file containing decoy information and performed abnormalbehavior prior to or concurrently with accessing the decoy file, adetector or a sensor can use this information to determine that amasquerade attack is likely occurring. The masquerade detection modelcan be used to reduce and/or eliminate false positives generated bydetectors that monitor decoy files.

Accordingly, masquerade detections mechanisms are provided that createand use a model of the computer user's behavior to determine whether atleast one of the current user actions is deemed abnormal and that detectwhether at least one of the current user actions includes accessing,transmitting, opening, executing, and/or misusing decoy information onthe file system.

These mechanisms can be used in a variety of applications. For example,a host agent (e.g., an ActiveX control, a Javascript control, etc.) caninsert and monitor decoy password information with an embedded activebeacon among data in Microsoft Outlook (e.g., in the address book, inthe notes section, etc.), while also generating models of normal userbehavior and monitoring current user actions to determine whether adeviation from those models has occurred.

Turning to FIG. 1, an example of a system 100 in which the masqueradeattack detection mechanisms can be implemented. As illustrated, system100 includes multiple collaborating computer systems 102, 104, and 106,a communication network 108, a masquerader/compromised computer 110,communication links 112, detection and deception system 114, and anattacker computer system 116.

Collaborating systems 102, 104, and 106 can be systems owned, operated,and/or used by universities, businesses, governments, non-profitorganizations, families, individuals, and/or any other suitable personand/or entity. Collaborating systems 102, 104, and 106 can include anynumber of user computers, servers, firewalls, routers, switches,gateways, wireless networks, wired networks, intrusion detectionsystems, and any other suitable devices. Collaborating systems 102, 104,and 106 can include one or more processors, such as a general-purposecomputer, a special-purpose computer, a digital processing device, aserver, a workstation, and/or various other suitable devices.Collaborating systems 102, 104, and 106 can run programs, such asoperating systems (OS), software applications, a library of functionsand/or procedures, background daemon processes, and/or various othersuitable programs. In some embodiments, collaborating systems 102, 104,and 106 can support one or more virtual machines. Any number (includingonly one) of collaborating systems 102, 104, and 106 can be present insystem 100, and collaborating systems 102, 104, and 106 can be identicalor different.

Communication network 108 can be any suitable network for facilitatingcommunication among computers, servers, etc. For example, communicationnetwork 108 can include private computer networks, public computernetworks (such as the Internet), telephone communication systems, cabletelevision systems, satellite communication systems, wirelesscommunication systems, any other suitable networks or systems, and/orany combination of such networks and/or systems.

Generally speaking, a user of masquerader/compromised computer 110 is amasquerader or an inside attacker that legitimately has access tocommunications network 108 and/or one or more systems 102, 104, and 106,but uses his or her access to attain illegitimate goals. For example, auser of masquerader/compromised computer 110 can be a traitor that useshis or her own legitimate credentials to gain access to communicationsnetwork 108 and/or one or more systems 102, 104, and 106, but uses hisor her access to attain illegitimate goals. In another example, a userof masquerader/compromised computer 110 can be a masquerader thatimpersonates another inside user. In addition, masquerader/compromisedcomputer 110 can be any computer, server, or other suitable device forlaunching a computer threat, such as a virus, worm, trojan, rootkit,spyware, key recovery attack, denial-of-service attack, malware, probe,etc.

It should be noted that, in some embodiments, an external attacker canbecome an inside attacker when the external attacker obtains internalnetwork access. For example, using spyware or rootkits, externalattackers can gain access to communications network 108. Such softwarecan easily be installed on computer systems from physical or digitalmedia (e.g., email, downloads, etc.) that provides an external attackerwith administrator or “root” access on a machine along with thecapability of gathering sensitive data. The external attacker can alsosnoop or eavesdrop on one or more systems 102, 104, and 106 orcommunications network 108, download and exfiltrate data, steal assetsand information, destroy critical assets and information, and/or modifyinformation. Rootkits have the ability to conceal themselves and eludedetection, especially when the rootkit is previously unknown, as is thecase with zero-day attacks. An external attacker that manages to installrootkits internally in effect becomes an insider, thereby multiplyingthe ability to inflict harm.

In some embodiments, the owner of masquerader/compromised computer 110may not be aware of what operations masquerader/compromised computer 110is performing or may not be in control of masquerader/compromisedcomputer 110. Masquerader/compromised computer 110 can be acting underthe control of another computer (e.g., attacking computer system 116) orautonomously based upon a previous computer attack which infectedcomputer 110 with a virus, worm, trojan, spyware, malware, probe, etc.For example, some malware can passively collect information that passesthrough masquerader/compromised computer 110. In another example, somemalware can take advantage of trusted relationships betweenmasquerader/compromised computer 110 and other systems 102, 104, and 106to expand network access by infecting other systems. In yet anotherexample, some malware can communicate with attacking computer system 116through an exfiltration channel 120 to transmit confidential information(e.g., IP addresses, passwords, credit card numbers, etc.).

It should be noted that malicious code can be injected into an objectthat appears as an icon in a document. In response to manually selectingthe icon, the malicious code can launch an attack against a third-partyvulnerable application. Malicious code can also be embedded in adocument, where the malicious code does not execute automatically.Rather, the malicious code lies dormant in the file store of theenvironment awaiting a future attack that extracts the hidden maliciouscode.

Alternatively, in some embodiments, masquerader/compromised computer 110and/or attacking computer system 116 can be operated by an individual ororganization with nefarious intent. For example, with the use ofmalicious code and/or exfiltration channel 120, a user ofmasquerader/compromised computer 110 or a user of attacking computersystem 116 can perform can perform unauthorized activities (e.g.,exfiltrate data without the use of channel 120, steal information fromone of the collaborating systems 102, 104, and 106), etc.

It should be noted that any number of masquerader/compromised computers110 and attacking computer systems 116 can be present in system 100, butonly one is shown in FIG. 1 to avoid overcomplicating the drawing.

More particularly, for example, each of the one or more collaborating orclient computers 102, 104, and 106, masquerader/compromised computer110, detection and deception system 114, and attacking computer system116, can be any of a general purpose device such as a computer or aspecial purpose device such as a client, a server, etc. Any of thesegeneral or special purpose devices can include any suitable componentssuch as a processor (which can be a microprocessor, digital signalprocessor, a controller, etc.), memory, communication interfaces,display controllers, input devices, etc. For example, collaboratingsystem 102 can be implemented as a personal computer, a personal dataassistant (PDA), a portable email device, a multimedia terminal, amobile telephone, a set-top box, a television, etc.

In some embodiments, any suitable computer readable media can be usedfor storing instructions for performing the processes described herein.For example, in some embodiments, computer readable media can betransitory or non-transitory. For example, non-transitory computerreadable media can include media such as magnetic media (such as harddisks, floppy disks, etc.), optical media (such as compact discs,digital video discs, Blu-ray discs, etc.), semiconductor media (such asflash memory, electrically programmable read only memory (EPROM),electrically erasable programmable read only memory (EEPROM), etc.), anysuitable media that is not fleeting or devoid of any semblance ofpermanence during transmission, and/or any suitable tangible media. Asanother example, transitory computer readable media can include signalson networks, in wires, conductors, optical fibers, circuits, anysuitable media that is fleeting and devoid of any semblance ofpermanence during transmission, and/or any suitable intangible media.

Referring back to FIG. 1, communication links 112 can be any suitablemechanism for connecting collaborating systems 102, 104, 106,masquerader/compromised computer 110, deception system 114, andattacking computer system 116 to communication network 108. Links 112can be any suitable wired or wireless communication link, such as a T1or T3 connection, a cable modem connection, a digital subscriber lineconnection, a Wi-Fi or 802.11(a), (b), (g), or (n) connection, a dial-upconnection, and/or any other suitable communication link. Alternatively,communication links 112 can be omitted from system 100 when appropriate,in which case systems 102, 104, and/or 106, computer 110, and/ordeception system 114 can be connected directly to communication network108.

In some embodiments, detection and deception system 114 can be anycomputer, server, router, or other suitable device for generating modelsof normal user behavior and intent, monitoring user behavior in system110, and modeling, generating, inserting, distributing, and/or managingdecoy information into system 100. Similar to collaborating systems 102,104, and 106, detection and deception system 114 can run programs, suchas operating systems (OS), software applications, a library of functionsand/or procedures, background daemon processes, and/or various othersuitable programs. In some embodiments, detection and deception system114 can support one or more virtual machines.

For example, detection and deception system 114 can include a decoyinformation broadcaster to inject decoy traffic information intocommunications network 108. In another example, detection and deceptionsystem 114 can be a designated server or a dedicated workstation thatanalyzes the information, events, and network flow in system 100,generates models of user behavior and decoy information based on thatanalysis, and inserts the deception information into the system 100. Inyet another example, deception system can operate in connection with ahost-based security application, such as Symantec Antivirus. In yetanother example, detection and deception system 114 can be multipleservers or workstations that simulate the information, events, andtraffic between collaborating systems 102, 104, and 106.

In some embodiments, detection and deception system 114 can includemultiple sensors to monitor, audit, and/or capture data on the users ofsystem 100. For example, detection and deception system 114 can includeone or more sensors that monitor registry-based activities, processcreation and destruction, window graphical user interface (GUI) access,dynamic link library (DLL) activity, and/or decoy information access(see, e.g., FIG. 2). Using such a sensor can obtain information on useractivities, such as the process name and process identification, theprocess path, the parent of the process, the type of process action(e.g., the type of registry access, process creation, processdestruction, etc.), the process command arguments, action flags (e.g.,success or failure), and registry activity results. Each audit record orpiece of information obtained by the sensor can be recorded with atimestamp. In a more particular example, the sensor can gatherparticular information based on the operating system used by the user.In a digital processing device using a Linux-based operating system, thesensor can use a kernel hook (e.g., the auditd daemon) to obtain processcreation events and enriched user commands. In a digital processingdevice using a Microsoft Windows operating system, the sensor can use alow-level system driver, DLL registration mechanisms, and a system tablehook to obtain registry-based activities, process creation anddestruction, window GUI access, and DLL libraries activity. Examples ofthe different sensors are shown in FIG. 2. An illustrative example of aregistry access sensor is shown, for example, in FIG. 3. As shown inscreen 300, the sensor monitors and records process identificationnumbers, timestamps, scores, process names and command arguments,requests, process paths, results, and any other suitable information fora particular user.

As described above, masquerade detection mechanisms that profile useractions to generate models of user behavior and intent and that monitoruser actions and access of decoy information can be provided to users ofcollaborating systems 102, 104, and/or 106, masquerader/compromisedcomputer 110, and/or communications network 108 of FIG. 1. FIG. 4illustrates an example 400 of a process for providing masqueradedetection mechanisms in accordance with some embodiments of thedisclosed subject matter. As shown, access is granted to a file systemat 410. For example, access can be granted in response to receiving alegitimate username and password.

It should be noted that, in response to granting access to a filesystem, the monitored user behavior (at 420), the decoy information (at430), selected categories, generated models of user behavior and intent(at 440), generated alerts (at 450), or any other suitable actiondescribed herein can be associated with a particular user or aparticular user type. For example, the monitored user behavior (e.g.,user commands, user-initiated applications, registry-based activities,and/or DLL activities) and models can be stored and associated with aparticular user based on username. In another example, the models can bestored and associated with a particular user type, such as anadministrator user or a guest user.

In response, user behavior on the file system is monitored at 420.Similarly, one or more sensors (e.g., Windows sensors, Linux sensors, orsensors for any suitable operating system) can be used to monitorinformation on user activities, such as the process name and processidentification, the process path, the parent of the process, the type ofprocess action (e.g., the type of registry access, process creation,process destruction, etc.), the process command arguments, action flags(e.g., success or failure), and registry activity results.

At 430, files that contain decoy information on the file system can begenerated and monitored. It should be noted that one downside of a falsepositive is annoyance of a legitimate user who can be alerted toofrequently. On the other hand, one downside of a false negative (e.g.,an undetected masquerader) can be far more dangerous. These filescontaining decoy information (e.g., a decoy password file, a file withbogus credit card information, etc.) can be deployed and monitored.Along with the generation of a model of user behavior and intent and thecomparison of current user actions (e.g., user commands, user-initiatedapplications, registry-based activities, and/or DLL activities) with thegenerated model, the detection of the performance of an action on a filecontaining decoy information provides stronger evidence of malfeasance,thereby improving the accuracy of detection and deception system 114.Accordingly, decoy information can be used to reduce and/or eliminatefalse positives.

Decoy information and/or decoy documents can be generated and/or managedusing any suitable approach. For example, detection and deception system114 can search through files on a computer (e.g., one or more ofcollaborating systems 102, 104, and 106), receive templates, files, orany other suitable input from a legitimate user (e.g., an administratoruser) of a computer, monitor traffic on communications network 108, oruse any other suitable approach to create believable decoy information.In a more particular example, detection and deception system 114 candetermine which files are generally accessed by a particular user (e.g.,top ten, last twenty, etc.) and generate decoy information similar tothose files. In another example, detection and deception system 114 canperform a search and determine various usernames, passwords, credit cardinformation, and/or any other sensitive information that may be storedon one or more of collaborating system 102, 104, and 106. Using thesesearch results, detection and deception system 114 can then createreceipts, tax documents, and other form-based documents with decoycredentials, realistic names, addresses, and logins. Alternatively,detection and deception system 114 can monitor the file system andgenerate decoy documents with file names similar to the files accessedon the file system (e.g., a tax document with the file name “2009 TaxForm-1099-1”) or with file types similar to the files accessed on thefile system (e.g., PDF file, DOC file, URL link, HTML file, JPG file,etc.).

It should be noted that detection and deception system 114 can generatedecoy information and decoy documents that comply with particularproperties that enhance the deception for masqueraders. Decoyinformation can be generated such that the documents are believable,enticing, conspicuous, detectable, variable, differentiable from actualor authentic information, non-interfering with legitimate users, etc.

In some embodiments, decoy information can be combined with any suitablenumber of monitoring or alerting approaches, either internal orexternal, to detect masqueraders. For example, a beacon can be embeddedin a document or any other suitable decoy information. As used herein, abeacon can be any suitable code or data that assist in thedifferentiation of decoy information from actual information and/orassists in indicating the malfeasance of an attacker illicitly accessingthe decoy information. In some embodiments, these stealthy beacons cancause a signal to be transmitted to a server indicating when and/orwhere the particular decoy information was opened, executed, etc.

In another example, the decoy information, such as a decoy document, canbe associated and/or embedded with one or more passive beacons. In amore particular example, a passive beacon in the form of a watermark canbe embedded in the binary format of the document file or any othersuitable location of the document file format. The watermark is detectedwhen the decoy information is loaded in memory or transmitted in theopen over a network (e.g., using the decoy file sensor of FIG. 2). Insome embodiments, a host-based monitoring application can be configuredto transmit signals or an alert when it detects the passive beacon indocuments.

In yet another example, the content of the decoy information itself canbe used to detect the potential presence of a masquerader. The contentof the decoy information can include a bogus login (e.g., a bogus loginand password for Google Mail). The bogus login to a website can becreated in a decoy document and monitored by external approaches (e.g.,polling a website or using a custom script that accesses mail.google.comand parses the bait account pages to gather account activityinformation).

Approaches for baiting inside attackers using decoy information arediscussed in further detail in, for example, Keromytis et al.,International Publication No. WO 2009/032379, published on Mar. 12,2009, and Stolfo et al., U.S. Patent Application Publication No.2010/0077483, (Attorney Docket No. 0315120.167-US3), published on Mar.25, 2010, which are hereby incorporated by reference herein in theirentireties.

Referring back to FIG. 4, user behavior and decoy information aremonitored on the file system at 420 and 430. An illustrative process forgenerating models of user behavior and intent and determining that thecurrent user actions are abnormal are described in further detail belowin connection with FIG. 5. After determining that one or more of thecurrent user actions are abnormal (e.g., determining that one or more ofthe current user actions deviate from the model of normal userbehavior), it is also determined whether at least one of the currentuser actions involves accessing, executing, printing, copying,transmitting, or performing any other suitable action on a file thatcontains decoy information (a decoy document) at 440.

At 450, in response to determining that one or more of the current useractions are abnormal and in response to determining that at least one ofthe current user actions involves accessing, executing, printing,copying, transmitting, and/or performing any other suitable action on afile that contains decoy information, an alert is generated. Forexample, an alert component can transmit an email to the legitimate userof the file system. In response to receiving the alert (e.g., an emailmessage), the legitimate user can be prompted to indicate whether thealert is a false alarm. In another example, an alert component cantransmit a notification to an administrator user (e.g., an informationtechnology professional). In yet another example, an alert component cantransmit a message to a host sensor or a host-based monitoringapplication, such as an antivirus software application.

In accordance with some embodiments of the disclosed subject matter,models of user behavior and intent are generated and implemented using aprocess 500 as illustrated in FIG. 5. While masqueraders may be able tocapture user credentials and/or confidential user information, thesemasqueraders are generally not able to capture or impersonate thebehavior of the particular user. By generating models of user behaviorand intent (e.g., using the normal pattern of submitted user actions)for a certain user, masqueraders can be accurately detected as theirbehavior is different from the behavior of the legitimate user. In someembodiments, the incorporation of decoy documents and monitoring actionsperformed on these decoy documents can reduce or eliminate falsepositives created by the one or more models.

It should be noted that, in some embodiments, user activities (e.g.,user commands, user-initiated applications, registry-based activities,and/or DLL activities) can be placed into contextual categories. Forexample, user commands can be classified into one of multiple categoriesas certain categories of user commands can reveal user intent more thanother categories. In another example, Windows applications can beclassified into one of multiple categories of applications. In a moreparticular example, user search behavior can be an interesting group ofuser commands and/or command categories to monitor and profile since itindicates the user lacks information they are seeking. Again, amasquerader is unlikely to have the depth of knowledge of the victim'smachine (e.g., files, locations of important directories, availableapplications, etc.). Accordingly, a masquerader is likely to firstperform information gathering and search commands before initiatingspecific actions. In another example, remote access to other systems andthe communication or egress of large amounts of data to remote systemscan be an interesting group of user commands and/or command categoriesto monitor and profile since such commands and/or categories can providean indication of illegal copying or distribution of sensitiveinformation.

In yet another example, a legitimate user tends to initiate the samerepeated actions or activities each time the user logs in to theirenvironment before using it by initiating multiple applications (e.g.,read e-mail, open a web browser, start a chat session, etc.). Similarly,the legitimate user tends to clean up and shut down particularapplications and perform particular actions when the user logs off. Suchrepeated behaviors constitute a profile that can be modeled and used tocheck the authenticity of a user session before significant damage isdone. Accordingly, certain categories from the taxonomy can reveal userintent for a particular user.

Referring back to FIG. 5, at 510, each action (e.g., user commands,user-initiated applications, registry-based activities, and/or DLLactivities) of multiple actions can be assigned a category type.Category types can classify these actions or activities into particularcategories, such as, for example, access control, applications,communications and networking, display and formatting, execution andprogram control, file system, I/O peripherals, search and informationgathering, other, process management, system management, unknown, andutilities. Other examples of various categories are shown, for example,in the illustrative taxonomies of FIGS. 6 and 7.

As shown in FIGS. 6 and 7, some categories can be further divided orclassified into sub-categories. For example, the display and formattingcategory can be further classified into file conversion commands orapplications and editing commands or applications. In another example,the execution and program control category can be further classifiedinto job execution commands and program control commands.

It should be noted that any other suitable category can also be createdand that categories can be created based on, for example, operatingenvironment (e.g., Windows, Unix, Chrome, etc.), user type (e.g.,administrator, guest, etc.), etc. For example, FIG. 6 shows multiplecategories created for a Unix command sequences issued by users, whileFIG. 7 shows multiple categories created for a Windows operatingenvironment with applications executed by users. In Unix systems, thesearch and information gathering category type can include usercommands, such as find and fgrep, while the process management categorytype can include user commands, such as kill, nohup, and renice. Inaddition, the date, clock, and cal commands can be placed into theutilities category. The other and unknown categories can be used forcommands that have been recognized but not classified under any othercategory and for commands that have not been identified or recognized,respectively.

Referring back to FIG. 5, a taxonomy of categories can be generatedbased on the assigned category type at 520. The generated taxonomy ofcategories, user commands, user-initiated applications, registry-basedactivities, and/or DLL activities can be used to readily identify andmodel particular user behavior. Examples of taxonomies for user commandsin a Unix environment and for applications in a Windows environment areshown in FIGS. 6 and 7, respectively.

It should be noted that the taxonomy abstracts the audit data andenriches the meaning of a user's profile. That is, activities, such ascommands, applications, or DLL activities, that perform similar types ofactions are grouped together in one or more categories making profiledsequences more abstract and meaningful. A taxonomy can reducecomplications, such as when “Never-Before-Seen-Commands” are observed,since distinct user commands are replaced by its category. Accordingly,user actions (e.g., user commands, user-initiated applications,registry-based activities, and/or DLL activities) are assigned acategory type and the sequence of category types is modeled rather thanindividual actions.

At 530, a model of the user behavior and intent can be generated using,for example, audit data, monitored user actions, etc. As describedabove, some categories can reveal user intent more than othercategories. Accordingly, particular categories that reveal user intentcan be selected for modeling. For example, to reveal the intent of aparticular user, categories relating to searching, access controlprivileges, and copying or printing information can be selected. Uponcollecting user behavior from these categories (e.g., in a givenwindow), a model can be generated of the normal pattern of submittedactions for one or more categories of the taxonomy for a particularuser.

It should be noted, however, that user behavior varies for each usersuch that different categories can be selected for different users. Forexample, an administrative user can have a different set of availablecommands than a guest user. In another suitable embodiment, thedetection and deception system 114 can prompt the user (e.g., the userthat logged in, an administrative user, etc.) to input responses toquestions relating to user behavior. For example, the user can beprovided with an interface for inputting responses to questions relatingto user search behavior (e.g., most frequent queries, particular folderlocations, etc.). In another suitable example, an administrator user canbe provided with an interface for selecting categories for particularusers in particular divisions of a corporation. Alternatively, thedetection and deception system 114 can select particular categories fromthe taxonomy based on user behavior (e.g., most frequent searches, topten remote sources receiving transmissions of sensitive information,etc.).

Once these categories are identified, features representing suchbehavior can be extracted. For example, monitored data can be groupedinto 10 second quanta of user activities, where seven features areextracted for each of these epochs—e.g., number of search actions(specific sections of the Windows registry, specific DLLs, and specificprograms on the system are correlated with system search), number ofnon-search actions, number of user-induced actions (e.g., manuallystarting or killing a process, opening a window, manually searching forsome file or some content, etc.), number of window touches (e.g.,bringing a window into the foreground, closing a window, etc.), numberof new processes, total number of processes running on the system, andtotal number of document editing applications running on the system.However, any suitable features can be extracted for each category.

Current user activities (e.g., real-time user actions) on the filesystem are monitored and compared to the generated model of “normal”user behavior and categories in order to determine its likelihood ofbeing harmful at 540. Based on the comparison, it can be determinedwhether one or more of the monitored user actions are abnormal, therebydetecting a masquerader attack.

In some embodiments, generating a model of the submitted user behaviorand comparing current user behavior with the model to determine itslikelihood of being a masquerader attack in 530, 540, and 550 can beperformed using Hellinger distance-based modeling approaches.

The Hellinger distance can be used to calculate the change in twofrequency tables, where each table is a histogram representing thefrequency of some variable at some particular moment in time. Moreparticularly, in these embodiments, the frequency of user actions can bemeasured. Accordingly, a detector of abnormal behavior is created bymodeling user action frequencies and the changes in that frequency.

The Hellinger distance can be defined as:

HD(f _(p) [ ],f _(t)[ ])=Σ_(i=0) ^(n-1)(√{square root over (f _(p)[i])}−√{square root over (f _(t) [i])})²

where f_(p)[ ] is the array of normalized frequencies for the first set,f_(t)[ ] is the array of normalized frequencies for the second set, andn is the number of possible commands or categories. For example, theHellinger distance metric can be applied in response to the issuance ofan action (e.g., user commands, applications, registry-based activities,and/or DLL activities) by a particular user. A previous frequency tablethat modeled the previous actions in one or more categories is comparedto a newly updated frequency table by modifying the frequency of thecommand types. Hence, each action creates a new or updated Hellingerdistance score that is subjected to threshold logic. Each bin of thefrequency table can be any category selected to model. In a generalcase, every category can be modeled and monitored.

In a more particular example, in order to detect changes in userbehavior, the Hellinger distance between two blocks of actions of size wcan be calculated. With each new action, the frequencies of thecategories within the block of the last w commands can be counted. Thewindow of w actions is then shifted by one action and the samefrequencies for the new block can be counted.

In some embodiments, an average score over a particular number of blockscan be calculated to determine an overall score. In response to theaverage score being greater than a particular user threshold value, theblock of actions (e.g., commands) can be deemed abnormal and amasquerader block.

Alternatively, in some embodiments, the rate of change of the Hellingerdistance can be calculated. For example, a calculated Hellinger distancecan be compared to a previously calculated Hellinger distance, where thedifference between the Hellinger distances is determined. If the rate ofchange between the Hellinger distances is greater than a particularthreshold value, the block of actions can be deemed abnormal and amasquerader block.

In some embodiments, generating a model of the submitted user behaviorand comparing current user behavior with the model to determine itslikelihood of being a masquerader attack in 530, 540, and 550 can beperformed using support vector machine (SVM) modeling approaches.

Support vector machines (SVMs) are linear classifiers used forclassification and regression and are known as maximal marginclassifiers. Generally speaking, SVMs map input data into ahigh-dimensional feature space using a kernel function. The kernelfunction can be defined as:

k(x,y)=(Φ(x),Φ(y)),

where x, y∈XX is the training data set and Φ is the feature mapping to ahigh-dimensional space X→F.

It should be noted that the feature mapping can be performed in anysuitable manner. For example, in some embodiments, a frequency-basedapproach can be conducted, where the number of times a categoryretrieved using the taxonomy appears in the monitored data is counted.In another example, in some embodiments, a binary approach can beconducted, where the presence of the category in the monitored data isindicated.

Accordingly, methods, systems, and media are provided for detectingmasquerade attacks by monitoring computer user behavior.

Although the invention has been described and illustrated in theforegoing illustrative embodiments, it is understood that the presentdisclosure has been made only by way of example, and that numerouschanges in the details of implementation of the invention can be madewithout departing from the spirit and scope of the invention. Featuresof the disclosed embodiments can be combined and rearranged in variousways.

What is claimed is:
 1. A method for detecting attacks on devices, the method comprising: receiving, using a hardware processor, a first plurality of user actions in a computing environment associated with a user account, wherein the first plurality of user actions includes a user selection of one or more particular documents in the computing environment; generating a model of user behavior based at least in part on the first plurality of user actions, wherein the model of user behavior is associated with the user account; receiving a second plurality of user actions in the computing environment that correspond to the user account; determining whether at least one of the second plurality of user actions deviates from the generated model of user behavior, wherein the determination further comprises determining whether the second plurality of user actions includes accessing the one or more particular documents in the computing environment; identifying whether the second plurality of user actions is an attack based at least in part on the determination that at least one of the second plurality of user actions deviates from the generated model of user behavior and that the one or more particular documents in the computing environment has been accessed; and generating an alert of the attack in response to the identification.
 2. The method of claim 1, further comprising searching through the computing environment to identify the one or more particular documents.
 3. The method of claim 2, further comprising identifying the one or more particular documents by determining that the one or more particular documents from a plurality of documents are commonly accessed by a user corresponding to the user account.
 4. The method of claim 2, further comprising identifying the one or more particular documents by determining that the one or more particular documents from a plurality of documents are commonly accessed by a plurality of user accounts associated with the computing environment.
 5. The method of claim 1, further comprising: generating decoy documents that are similar to the one or more particular documents; and inserting the decoy documents into the computing environment, wherein identifying that the second plurality of user actions is the attack includes detecting that at least one of the generated decoy documents has been accessed.
 6. The method of claim 1, further comprising: generating documents that are similar to the one or more particular documents; inserting decoy information into each of the generated documents; and inserting the generated documents into the computing environment, wherein identifying that the second plurality of user actions is the attack includes detecting that at least one of the generated documents has been accessed.
 7. The method of claim 6, wherein the decoy information further comprises a beacon that is configured to indicate when a document associated with the beacon has been accessed.
 8. The method of claim 6, further comprising transmitting a monitoring instruction to a monitoring application that monitors a beacon in the decoy information to detect when a document associated with the beacon has been accessed.
 9. The method of claim 1, further comprising classifying each of the first plurality of user actions into a category of a plurality of categories of user actions; and generating the model of user behavior based on user actions in at least one category of the plurality of categories of user actions.
 10. The method of claim 9, further comprising receiving a selection of at least one category of the plurality of categories of user actions for generating the model of user behavior.
 11. The method of claim 1, further comprising assigning a category type to each of a plurality of user commands, applications, registry-based activities, and dynamic link library (DLL) activities in the computing environment.
 12. The method of claim 11, further comprising: generating a taxonomy of categories based on the category type; selecting one or more categories from the taxonomy; extracting a plurality of features for each category; and generating the model of user behavior by using the first plurality of user actions with respect to the extracted features.
 13. The method of claim 1, further comprising calculating a first distance between a first distribution that models the first plurality of user actions and a second distribution that models the second plurality of user actions.
 14. The method of claim 13, further comprising determining that at least one of the second plurality of user actions deviates from the model of user behavior in response to the first distance being greater than a threshold distance value.
 15. The method of claim 13, further comprising: calculating a second distance between the second distribution that models the second plurality of user actions and a third distribution that models a third plurality of user actions; and comparing the second distance with the first distance to determine whether the third plurality of user actions corresponds to the attack.
 16. The method of claim 1, further comprising associating the model of user behavior with at least one of: a particular user, the computing environment, a network, and a user type.
 17. A method for detecting attacks on devices, the method comprising: receiving, using a hardware processor, a first plurality of user actions in a computing environment associated with a user account; generating a model of user behavior based on the first plurality of user actions, wherein the model of user behavior is associated with the user account; receiving additional user actions in the computing environment that correspond to the user account; determining whether at least one of the additional user actions deviates from the generated model of user behavior; and in response to determining that at least one of the additional user actions deviates from the generated model of user behavior, generating an alert that includes information associated with the user account.
 18. The method of claim 17, further comprising determining that the additional user actions include performing search activities in the computing environment, wherein the alert is generated in response to determining that the additional user actions include the search activities in the computing environment.
 19. The method of claim 18, wherein the search activities include a number of search actions conducted in the computing environment in a given period of time.
 20. The method of claim 17, further comprising: classifying each of the first plurality of user actions into a category of a plurality of categories of user actions; and generating the model of user behavior based on user actions in at least one category of the plurality of categories of user actions.
 21. The method of claim 17, further comprising assigning a category type to each of a plurality of user commands, applications, registry-based activities, and dynamic link library (DLL) activities in the computing environment.
 22. The method of claim 21, further comprising receiving a selection of at least one category of the plurality of categories of user actions for generating the model of user behavior.
 23. The method of claim 21, further comprising: generating a taxonomy of categories based on the category type; selecting one or more categories from the taxonomy; extracting a plurality of features for each category; and generating the model of user behavior by using the first plurality of user actions with respect to the extracted features.
 24. The method of claim 21, further comprising calculating a first distance between a first distribution that models the first plurality of user actions and a second distribution that models the second plurality of user actions.
 25. The method of claim 24, further comprising determining that at least one of the second plurality of user actions deviates from the model of user search behavior in response to the first distance being greater than a threshold distance value.
 26. The method of claim 24, further comprising: calculating a second distance between the second distribution that models the second plurality of user actions and a third distribution that models a third plurality of user actions; and comparing the second distance with the first distance to determine whether the third plurality of user actions corresponds to the attack.
 27. The method of claim 17, further comprising associating the model of user search behavior with at least one of: a particular user, the computing environment, a network, and a user type.
 28. A method for detecting attacks on devices, the method comprising: monitoring, using a hardware processor, a first plurality of user actions over a communications network; generating a model of user behavior based on the first plurality of user actions over the communications network; receiving additional user actions over the communications network; determining whether at least one of the additional user actions deviates from the generated model of user behavior; and in response to determining that at least one of the additional user actions deviates from the generated model of user behavior, generating an alert that includes information associated with the communications network.
 29. The method of claim 28, wherein the first plurality of user actions and the second plurality of user actions includes networking-related user activities.
 30. The method of claim 28, wherein the first plurality of user actions and the second plurality of user actions includes communications-related user activities.
 31. The method of claim 28, further comprising: classifying each of the first plurality of user actions into a category of a plurality of categories of user actions, wherein the plurality of categories of user actions includes a first category of communications-related user activities and networking-related user activities; extracting user actions from the first plurality of user actions that have been placed in the first category; and generating the model of user behavior based on the user actions in the first category of the plurality of categories of user actions.
 32. The method of claim 28, further comprising associating the model of user behavior with the communications network. 